/**
 * 本次存储处理模块
 */

/**
 * 存储的 key
 */
export const KEY_MAP = {
  MY_USER: 'my-user',
  MY_CHANNEL: 'my-channel',
  MY_HISTORY: 'my-history'
}

/**
 * 提取本地存储中的值
 * @param {String} key 存储名
 */
export const getItem = key => {
  const data = window.localStorage.getItem(key)
  try {
    // 如果不是 json 字符串，解析的时候会报错。那么报错的时候就原样返回
    return JSON.parse(data)
  } catch (error) {
    return data
  }
}

/**
 * 设置本地存储中的值
 * @param {String} key 存储名
 * @param {*} value 存储值
 */
export const setItem = (key, value) => {
  // 判断是对象就按照 json 序列化，不是则原样存储
  if (typeof value === 'object') {
    value = JSON.stringify(value)
  }
  window.localStorage.setItem(key, value)
}
/**
 * 删除本地存储中的值
 * @param {String} key 存储名
 */
export const removeItem = key => {
  window.localStorage.setItem(key, '')
}
